package io.xxx.xbutler.sdk.request;

import com.alibaba.fastjson2.annotation.JSONField;
import io.xxx.xbutler.sdk.TanJingRequest;
import io.xxx.xbutler.sdk.response.SetAliasForGroupResponse;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Map;

/**
 * 【异步调用】设置群内昵称（兼容PC）
 * <p>
 * 商家可通过该接口设置机器人群内昵称。
 * 已支持企业微信外部群&普通群；
 */
@Data
@Accessors(chain = true)
public class SetAliasForGroupRequest implements TanJingRequest<SetAliasForGroupResponse> {

    @JSONField(name = "vcRobotSerialNo")
    private String robotSerialNo;

    @JSONField(name = "vcChatRoomSerialNo")
    private String chatRoomSerialNo;

    @JSONField(name = "vcAlias")
    private String alias;

    @Override
    public String path() {
        return "/scrm/ChatRoom/SetAliasForGroup";
    }

    @Override
    public Map<String, Object> params() {
        return Map.of("vcRobotSerialNo", robotSerialNo,
                "vcChatRoomSerialNo", chatRoomSerialNo,
                "vcAlias", alias);
    }

    @Override
    public Class<SetAliasForGroupResponse> responseType() {
        return SetAliasForGroupResponse.class;
    }

    @Override
    public String merchantName() {
        return "vcMerchantNo";
    }
}
